perm filename CBUG.DEW[CMP,LSP] blob
sn#329122 filedate 1978-01-14 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00006 ENDMK
Cā;
ā12-Jan-78 1703 DEW Compiler bug
Whit:
This is the function that the 1.6 compiler couldn't do a NULL in:
(DEFUN PRCODE (ARGS1 SPEC)
(COND ((NULL ARGS1) (PRINT @UNKNOWN-PRPAT) (SETQ SPEC (NCONS NIL)))
((NULL (CAR SPEC)) (PRINC NIL))
((EQUAL SQ (EVAL (CAR ARGS1))) (PRALGNOT (CAR SPEC)))
((EQ (CAR ARGS1) @COL) (PRINC (COND ((EQ 0 (CAR SPEC)) @WHITE) (T @BLACK))))
~if line below usec, compiler barfs so use EQ NIL
~ ((NULL (EVAL (CAR ARGS1))) (PRINC NIL))
((EQ NIL (EVAL (CAR ARGS1))) (PRINC NIL))
(T (PRINC (PNAMES (CAR SPEC)))))
(COND ((CDR SPEC) (PRINC @/ ) (PRCODE (CDR ARGS1) (CDR SPEC)))))
~this prints an instance of a pattern. Pieces are printed directly and
~squares are printed in alg notation with correct spaces inserted.
~call should be surrounded by printing parens.
~both arguments are lists of atoms. Evaluated the variable in the list
~ARGS1 tells how to print the integer corresponding to it in SPEC.